'use strict';

module.exports = (options, app) => {
  return async function ipCheck(ctx, next) {
    const userInfo = ctx.adminInfo || ctx.userInfo;

    /** 异地登陆检测 */
    // if (ctx.request.url.indexOf('login') === -1 && userInfo && userInfo.dataValues.last_ip !== ctx.request.ip) {
    //     return ctx.body = ctx.response.notLogin("检测到异地登陆，请重新登陆账号");
    // }

    /** ip黑名单检测 */
    app.config.forbidIp.some((ip) => {
      if (ip === ctx.request.ip) {
        ctx.body = ctx.response.forbidden();
        return;
      }
    });

    await next();
  };
};
